# 累计处理函数reduce, 具有递归操作功能
# 递归操作：从左到右读取序列，将两个数值（上一次运算的结果和下一个待操作的数值）作为参数传入指定的函数中

from functools import reduce

# 加法累计
def add(x, y):
  return x + y
  # 乘法
  # return x * y
print(reduce(add, [1,2,3,4]))
print(reduce(add, [1,2,3,4], 100))

# 数字拼接
def combine(x, y):
  return x * 10 + y
print(reduce(combine, [1,2,3,4]))